// 蜂窝蜜造平台生成代码，如手工更改，请添加到 .beeignore 忽略生成

package com.fowo.api.model.bd.accperiodmonth;

import com.fowo.api.common.annotaion.DataObjectType;
import com.fowo.api.common.meta.MetaDataObject;
import com.fowo.api.common.meta.MetaDataObjects;
import com.fowo.api.common.model.PageSearch;
import com.fowo.api.common.mybatis.helper.PageSearchHelper;
import com.fowo.api.common.util.ListUtils;
import com.fowo.api.entity.BdAccperiodmonth;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

@DataObjectType(BdAccperiodmonth.class)
@Setter
@Getter
public class BdAccperiodmonthSearchParamPo extends PageSearch {

  private static MetaDataObject metaDataObject;

  @Override
  public void applySqlSegments() {
    if (metaDataObject == null) {
      metaDataObject =
        ListUtils.find(
          MetaDataObjects.getObjects(),
          o -> "BdAccperiodmonth".equals(o.getName())
        );
    }
    PageSearchHelper.fillSqlSegments(this, metaDataObject);
  }

  @Override
  public void initFinal() {
    super.initFinal();
    applySqlSegments();
  }

  /**
   * 获取关联字段的查询表别名信息
   */
  @Override
  public Map<String, String> getJoinFieldTableAliasMap() {
    Map<String, String> map = new HashMap<>();
    return map;
  }

  @Override
  public Map<String, OptionalJoinField> getOptionalJoinFields() {
    Map<String, OptionalJoinField> map = new HashMap<>();

    return map;
  }

  /**
   * 名称(模糊搜索)
   */
  private String name;

  /**
   * 名称 比较(eq)
   */
  private String nameEq;
  /**
   * 名称 比较(neq)
   */
  private String nameNeq;
  /**
   * 名称 比较(gt)
   */
  private String nameGt;
  /**
   * 名称 比较(gte)
   */
  private String nameGte;
  /**
   * 名称 比较(lt)
   */
  private String nameLt;
  /**
   * 名称 比较(lte)
   */
  private String nameLte;
  /**
   * 名称 比较(contains)
   */
  private String nameContains;
  /**
   * 名称 比较(notcontains)
   */
  private String nameNotcontains;
  /**
   * 名称 比较(startswith)
   */
  private String nameStartswith;
  /**
   * 名称 比较(endswith)
   */
  private String nameEndswith;
  /**
   * 名称 比较(isnull)
   */
  private Boolean nameIsnull;
  /**
   * 名称 比较(isnotnull)
   */
  private Boolean nameIsnotnull;

  /**
   * 名称(精确搜索)
   */
  private List<String> nameInList;

  /**
   * 是否当前会计期
   */
  private Boolean isCurrentAccperiod;

  /**
   * 是否当前会计期
   */
  private String isCurrentAccperiodEq;

  /**
   * 年月组合信息(模糊搜索)
   */
  private String yearMonth;

  /**
   * 年月组合信息 比较(eq)
   */
  private String yearMonthEq;
  /**
   * 年月组合信息 比较(neq)
   */
  private String yearMonthNeq;
  /**
   * 年月组合信息 比较(gt)
   */
  private String yearMonthGt;
  /**
   * 年月组合信息 比较(gte)
   */
  private String yearMonthGte;
  /**
   * 年月组合信息 比较(lt)
   */
  private String yearMonthLt;
  /**
   * 年月组合信息 比较(lte)
   */
  private String yearMonthLte;
  /**
   * 年月组合信息 比较(contains)
   */
  private String yearMonthContains;
  /**
   * 年月组合信息 比较(notcontains)
   */
  private String yearMonthNotcontains;
  /**
   * 年月组合信息 比较(startswith)
   */
  private String yearMonthStartswith;
  /**
   * 年月组合信息 比较(endswith)
   */
  private String yearMonthEndswith;
  /**
   * 年月组合信息 比较(isnull)
   */
  private Boolean yearMonthIsnull;
  /**
   * 年月组合信息 比较(isnotnull)
   */
  private Boolean yearMonthIsnotnull;

  /**
   * 年月组合信息(精确搜索)
   */
  private List<String> yearMonthInList;

  /**
   * 最早结束日期
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date endDateStart;

  /**
   * 最晚结束日期
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date endDateEnd;

  /**
   * 结束日期 比较(eq)
   */
  private Date endDateEq;
  /**
   * 结束日期 比较(neq)
   */
  private Date endDateNeq;
  /**
   * 结束日期 比较(gt)
   */
  private Date endDateGt;
  /**
   * 结束日期 比较(gte)
   */
  private Date endDateGte;
  /**
   * 结束日期 比较(lt)
   */
  private Date endDateLt;
  /**
   * 结束日期 比较(lte)
   */
  private Date endDateLte;
  /**
   * 结束日期 比较(contains)
   */
  private Date endDateContains;
  /**
   * 结束日期 比较(notcontains)
   */
  private Date endDateNotcontains;
  /**
   * 结束日期 比较(startswith)
   */
  private Date endDateStartswith;
  /**
   * 结束日期 比较(endswith)
   */
  private Date endDateEndswith;
  /**
   * 结束日期 比较(isnull)
   */
  private Boolean endDateIsnull;
  /**
   * 结束日期 比较(isnotnull)
   */
  private Boolean endDateIsnotnull;

  /**
   * 最早开始日期
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date beginDateStart;

  /**
   * 最晚开始日期
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date beginDateEnd;

  /**
   * 开始日期 比较(eq)
   */
  private Date beginDateEq;
  /**
   * 开始日期 比较(neq)
   */
  private Date beginDateNeq;
  /**
   * 开始日期 比较(gt)
   */
  private Date beginDateGt;
  /**
   * 开始日期 比较(gte)
   */
  private Date beginDateGte;
  /**
   * 开始日期 比较(lt)
   */
  private Date beginDateLt;
  /**
   * 开始日期 比较(lte)
   */
  private Date beginDateLte;
  /**
   * 开始日期 比较(contains)
   */
  private Date beginDateContains;
  /**
   * 开始日期 比较(notcontains)
   */
  private Date beginDateNotcontains;
  /**
   * 开始日期 比较(startswith)
   */
  private Date beginDateStartswith;
  /**
   * 开始日期 比较(endswith)
   */
  private Date beginDateEndswith;
  /**
   * 开始日期 比较(isnull)
   */
  private Boolean beginDateIsnull;
  /**
   * 开始日期 比较(isnotnull)
   */
  private Boolean beginDateIsnotnull;

  /**
   * 会计月份(模糊搜索)
   */
  private String accperiodMonth;

  /**
   * 会计月份 比较(eq)
   */
  private String accperiodMonthEq;
  /**
   * 会计月份 比较(neq)
   */
  private String accperiodMonthNeq;
  /**
   * 会计月份 比较(gt)
   */
  private String accperiodMonthGt;
  /**
   * 会计月份 比较(gte)
   */
  private String accperiodMonthGte;
  /**
   * 会计月份 比较(lt)
   */
  private String accperiodMonthLt;
  /**
   * 会计月份 比较(lte)
   */
  private String accperiodMonthLte;
  /**
   * 会计月份 比较(contains)
   */
  private String accperiodMonthContains;
  /**
   * 会计月份 比较(notcontains)
   */
  private String accperiodMonthNotcontains;
  /**
   * 会计月份 比较(startswith)
   */
  private String accperiodMonthStartswith;
  /**
   * 会计月份 比较(endswith)
   */
  private String accperiodMonthEndswith;
  /**
   * 会计月份 比较(isnull)
   */
  private Boolean accperiodMonthIsnull;
  /**
   * 会计月份 比较(isnotnull)
   */
  private Boolean accperiodMonthIsnotnull;

  /**
   * 会计月份(精确搜索)
   */
  private List<String> accperiodMonthInList;

  /**
   * 所属会计期间(模糊搜索)
   */
  private String pkAccperiod;

  /**
   * 所属会计期间 比较(eq)
   */
  private String pkAccperiodEq;
  /**
   * 所属会计期间 比较(neq)
   */
  private String pkAccperiodNeq;
  /**
   * 所属会计期间 比较(gt)
   */
  private String pkAccperiodGt;
  /**
   * 所属会计期间 比较(gte)
   */
  private String pkAccperiodGte;
  /**
   * 所属会计期间 比较(lt)
   */
  private String pkAccperiodLt;
  /**
   * 所属会计期间 比较(lte)
   */
  private String pkAccperiodLte;
  /**
   * 所属会计期间 比较(contains)
   */
  private String pkAccperiodContains;
  /**
   * 所属会计期间 比较(notcontains)
   */
  private String pkAccperiodNotcontains;
  /**
   * 所属会计期间 比较(startswith)
   */
  private String pkAccperiodStartswith;
  /**
   * 所属会计期间 比较(endswith)
   */
  private String pkAccperiodEndswith;
  /**
   * 所属会计期间 比较(isnull)
   */
  private Boolean pkAccperiodIsnull;
  /**
   * 所属会计期间 比较(isnotnull)
   */
  private Boolean pkAccperiodIsnotnull;

  /**
   * 所属会计期间(精确搜索)
   */
  private List<String> pkAccperiodInList;

  /**
   * 所属组织
   */
  private Long pkOrg;

  /**
   * 最小所属组织
   */
  private Long pkOrgMin;

  /**
   * 最大所属组织
   */
  private Long pkOrgMax;

  /**
   * 所属组织 比较(eq)
   */
  private Long pkOrgEq;
  /**
   * 所属组织 比较(neq)
   */
  private Long pkOrgNeq;
  /**
   * 所属组织 比较(gt)
   */
  private Long pkOrgGt;
  /**
   * 所属组织 比较(gte)
   */
  private Long pkOrgGte;
  /**
   * 所属组织 比较(lt)
   */
  private Long pkOrgLt;
  /**
   * 所属组织 比较(lte)
   */
  private Long pkOrgLte;
  /**
   * 所属组织 比较(contains)
   */
  private Long pkOrgContains;
  /**
   * 所属组织 比较(notcontains)
   */
  private Long pkOrgNotcontains;
  /**
   * 所属组织 比较(startswith)
   */
  private Long pkOrgStartswith;
  /**
   * 所属组织 比较(endswith)
   */
  private Long pkOrgEndswith;
  /**
   * 所属组织 比较(isnull)
   */
  private Boolean pkOrgIsnull;
  /**
   * 所属组织 比较(isnotnull)
   */
  private Boolean pkOrgIsnotnull;

  /**
   * 租户id
   */
  private Long tenantId;

  /**
   * 最小租户id
   */
  private Long tenantIdMin;

  /**
   * 最大租户id
   */
  private Long tenantIdMax;

  /**
   * 租户id 比较(eq)
   */
  private Long tenantIdEq;
  /**
   * 租户id 比较(neq)
   */
  private Long tenantIdNeq;
  /**
   * 租户id 比较(gt)
   */
  private Long tenantIdGt;
  /**
   * 租户id 比较(gte)
   */
  private Long tenantIdGte;
  /**
   * 租户id 比较(lt)
   */
  private Long tenantIdLt;
  /**
   * 租户id 比较(lte)
   */
  private Long tenantIdLte;
  /**
   * 租户id 比较(contains)
   */
  private Long tenantIdContains;
  /**
   * 租户id 比较(notcontains)
   */
  private Long tenantIdNotcontains;
  /**
   * 租户id 比较(startswith)
   */
  private Long tenantIdStartswith;
  /**
   * 租户id 比较(endswith)
   */
  private Long tenantIdEndswith;
  /**
   * 租户id 比较(isnull)
   */
  private Boolean tenantIdIsnull;
  /**
   * 租户id 比较(isnotnull)
   */
  private Boolean tenantIdIsnotnull;

  /**
   * 编号
   */
  private Long id;

  /**
   * 最小编号
   */
  private Long idMin;

  /**
   * 最大编号
   */
  private Long idMax;

  /**
   * 编号 比较(eq)
   */
  private Long idEq;
  /**
   * 编号 比较(neq)
   */
  private Long idNeq;
  /**
   * 编号 比较(gt)
   */
  private Long idGt;
  /**
   * 编号 比较(gte)
   */
  private Long idGte;
  /**
   * 编号 比较(lt)
   */
  private Long idLt;
  /**
   * 编号 比较(lte)
   */
  private Long idLte;
  /**
   * 编号 比较(contains)
   */
  private Long idContains;
  /**
   * 编号 比较(notcontains)
   */
  private Long idNotcontains;
  /**
   * 编号 比较(startswith)
   */
  private Long idStartswith;
  /**
   * 编号 比较(endswith)
   */
  private Long idEndswith;
  /**
   * 编号 比较(isnull)
   */
  private Boolean idIsnull;
  /**
   * 编号 比较(isnotnull)
   */
  private Boolean idIsnotnull;

  /**
   * 更新人
   */
  private Long lastUpdateUser;

  /**
   * 最小更新人
   */
  private Long lastUpdateUserMin;

  /**
   * 最大更新人
   */
  private Long lastUpdateUserMax;

  /**
   * 更新人 比较(eq)
   */
  private Long lastUpdateUserEq;
  /**
   * 更新人 比较(neq)
   */
  private Long lastUpdateUserNeq;
  /**
   * 更新人 比较(gt)
   */
  private Long lastUpdateUserGt;
  /**
   * 更新人 比较(gte)
   */
  private Long lastUpdateUserGte;
  /**
   * 更新人 比较(lt)
   */
  private Long lastUpdateUserLt;
  /**
   * 更新人 比较(lte)
   */
  private Long lastUpdateUserLte;
  /**
   * 更新人 比较(contains)
   */
  private Long lastUpdateUserContains;
  /**
   * 更新人 比较(notcontains)
   */
  private Long lastUpdateUserNotcontains;
  /**
   * 更新人 比较(startswith)
   */
  private Long lastUpdateUserStartswith;
  /**
   * 更新人 比较(endswith)
   */
  private Long lastUpdateUserEndswith;
  /**
   * 更新人 比较(isnull)
   */
  private Boolean lastUpdateUserIsnull;
  /**
   * 更新人 比较(isnotnull)
   */
  private Boolean lastUpdateUserIsnotnull;

  /**
   * 最早更新时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date lastUpdateTimeStart;

  /**
   * 最晚更新时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date lastUpdateTimeEnd;

  /**
   * 更新时间 比较(eq)
   */
  private Date lastUpdateTimeEq;
  /**
   * 更新时间 比较(neq)
   */
  private Date lastUpdateTimeNeq;
  /**
   * 更新时间 比较(gt)
   */
  private Date lastUpdateTimeGt;
  /**
   * 更新时间 比较(gte)
   */
  private Date lastUpdateTimeGte;
  /**
   * 更新时间 比较(lt)
   */
  private Date lastUpdateTimeLt;
  /**
   * 更新时间 比较(lte)
   */
  private Date lastUpdateTimeLte;
  /**
   * 更新时间 比较(contains)
   */
  private Date lastUpdateTimeContains;
  /**
   * 更新时间 比较(notcontains)
   */
  private Date lastUpdateTimeNotcontains;
  /**
   * 更新时间 比较(startswith)
   */
  private Date lastUpdateTimeStartswith;
  /**
   * 更新时间 比较(endswith)
   */
  private Date lastUpdateTimeEndswith;
  /**
   * 更新时间 比较(isnull)
   */
  private Boolean lastUpdateTimeIsnull;
  /**
   * 更新时间 比较(isnotnull)
   */
  private Boolean lastUpdateTimeIsnotnull;

  /**
   * 创建人
   */
  private Long createUser;

  /**
   * 最小创建人
   */
  private Long createUserMin;

  /**
   * 最大创建人
   */
  private Long createUserMax;

  /**
   * 创建人 比较(eq)
   */
  private Long createUserEq;
  /**
   * 创建人 比较(neq)
   */
  private Long createUserNeq;
  /**
   * 创建人 比较(gt)
   */
  private Long createUserGt;
  /**
   * 创建人 比较(gte)
   */
  private Long createUserGte;
  /**
   * 创建人 比较(lt)
   */
  private Long createUserLt;
  /**
   * 创建人 比较(lte)
   */
  private Long createUserLte;
  /**
   * 创建人 比较(contains)
   */
  private Long createUserContains;
  /**
   * 创建人 比较(notcontains)
   */
  private Long createUserNotcontains;
  /**
   * 创建人 比较(startswith)
   */
  private Long createUserStartswith;
  /**
   * 创建人 比较(endswith)
   */
  private Long createUserEndswith;
  /**
   * 创建人 比较(isnull)
   */
  private Boolean createUserIsnull;
  /**
   * 创建人 比较(isnotnull)
   */
  private Boolean createUserIsnotnull;

  /**
   * 最早创建时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date createTimeStart;

  /**
   * 最晚创建时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date createTimeEnd;

  /**
   * 创建时间 比较(eq)
   */
  private Date createTimeEq;
  /**
   * 创建时间 比较(neq)
   */
  private Date createTimeNeq;
  /**
   * 创建时间 比较(gt)
   */
  private Date createTimeGt;
  /**
   * 创建时间 比较(gte)
   */
  private Date createTimeGte;
  /**
   * 创建时间 比较(lt)
   */
  private Date createTimeLt;
  /**
   * 创建时间 比较(lte)
   */
  private Date createTimeLte;
  /**
   * 创建时间 比较(contains)
   */
  private Date createTimeContains;
  /**
   * 创建时间 比较(notcontains)
   */
  private Date createTimeNotcontains;
  /**
   * 创建时间 比较(startswith)
   */
  private Date createTimeStartswith;
  /**
   * 创建时间 比较(endswith)
   */
  private Date createTimeEndswith;
  /**
   * 创建时间 比较(isnull)
   */
  private Boolean createTimeIsnull;
  /**
   * 创建时间 比较(isnotnull)
   */
  private Boolean createTimeIsnotnull;

  /**
   * 表单名称
   */
  private String formName;

  /**
   * 工作流状态
   */
  private Integer wfStatus;
}
